//
//  HHHttpConfigProtocol.h
//  ZHNetworkKit
//
//  Created by Basic on 2018/8/7.
//  http 配置 协议

#import <Foundation/Foundation.h>

@class BCHttpRequestModel;
@class BCHttpResponseModel;
@class HHHttpConfig;

NS_ASSUME_NONNULL_BEGIN

@protocol HHHttpConfigProtocol <NSObject>

@optional

/**
 初始化，这里可以加载网络配置、配置全局header等等【需要重写】
 
 */
- (void)hhnet_setup:(HHHttpConfig *)config;

#pragma mark - 请求的生命周期
/**
 请求将要发送，可以对参数进行处理
 
 @param request request description
 */
-(void)hhnet_willSendRequest:(BCHttpRequestModel *)request;

/**
 请求返回成功，可以做拦截处理

 @param request request description
 @param response response description
 */
- (void)hhnet_onRequestComplate:(BCHttpRequestModel *)request response:(BCHttpResponseModel *)response;


#pragma mark - loading

/**
 显示loading
 
 @param msg msg description
 */
- (void)hhnet_showLoading:(NSString * _Nullable)msg;

/**
 显示成功提示
 
 @param msg description
 */
- (void)hhnet_showSuccessMsg:(NSString * _Nullable)msg;

/**
 隐藏loading
 */
- (void)hhnet_hideLoading;

/**
 处理错误提示
 
 @param response response description
 */
- (void)hhnet_handleErrorMsg:(BCHttpResponseModel *)response;

@end

NS_ASSUME_NONNULL_END
